package Dao;

import pojo.Customer;

import java.util.List;

// 这个接口定义了与 Customer 对象在数据源中交互的数据访问方法。
public interface CustomerDAO {

    // 用户登录方法,获得用户id
    int userLogin(String name, String password) throws Exception;

    //用户注册方法
    boolean userRegister(String username, String password,String registrationDate) throws Exception;

    //用户名查询
    boolean checkUserNameExist(String username) throws Exception;

    // 根据唯一标识符检索特定客户。
    Customer getCustomerById(int customerId) throws Exception;

    // 在数据源中更新现有客户。
    Boolean updateCustomer(Customer customer) throws Exception;

    // 从数据源检索所有客户的列表。（管理员界面）
    List<Customer> getAllCustomers() throws Exception;

    // 将新客户添加到数据源。（管理员）
    Boolean addCustomer(Customer customer) throws Exception;

    //租车时更新个人信息，租车数量
    Boolean updateUserByRent(Customer customer) throws Exception;

    //还车时更新个人信息，租车数量，个人余额
    Boolean updateUserByReturn(Customer customer) throws Exception;

    //管理员根据用户id 删除顾客信息
    void deletecustomer(int del_customerid) throws Exception;

    //管理员根据用户名 查询顾客信息
    List<Customer> geUserName(String searchText) throws Exception;

    //管理员取消订单个人信息更新车辆数量
    void updateCustomerStatus(int userId) throws Exception;

    void updatecustomerById(int data_id, Customer customer) throws Exception;
}